letrec supported
newline, assoc, append supported.to-do: apply, map