(* Problem 1 *) let times x y = ... (* Problem 2 *) let unfold lst = ... (* Problem 3 *) let nonempty_print str = ... (* Problem 4 *) let isnull lst = ... (* Problem 5 *) let multiply ... (* Problem 6 *) let apply f x y = ... (* Problem 7 *) let partiallyApply ... (* Problem 8 *) let app3 f x y z = ... (* Problem 9 - Extra Credit *) let permuteArgs f perm = ...