Currently operations in recipes are stored as function pointers. As I understand it this is somewhat unsafe, and more so for comparison.
The reason I chose this was for performance, so that there is no need for a match for each time an operation is actualised.
Is the trade-off worth it?