fixed higher order function double evaluation bug....bitch
added tests