Begin to add support for user defined operators.

Remember the Schubert rule: With great power comes great responsibily
and if you misuse it I'll lampoon you on the internet forever.