moved cut to be a function rather than a macro so that it is in the core language

it will also evaluate slightly faster in the repl