package tf.bug.fancade object Main { def main(args: Array[String]): Unit = { import Fanscript._ import tf.bug.shinji.syntax.all._ val sum: (Number × Number × Pull × Number × Pull) → (Pull × Number × Number × Pull) = { val getSum: T → Number = Builtin.GetNumber("Sum") val addToSum: (Number × Pull) → Pull = { val add: (Number × Number) → Number = Builtin.AddNumbers val sumAsFirstInput: (T × Number) → (Number × Number) = getSum.first[Number] val branch: Number → (T × Number) = deunitL val justSecondInput: Number → (Number × Number) = branch >>> sumAsFirstInput val addSum: Number → Number = add.ldimap(justSecondInput) val storeSum: (Number × Pull) → Pull = Builtin.SetNumber("Sum") storeSum.ldimap(arr.lbimap(addSum)) } } } }