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?