option types, higher-order functions, partial application. TODO: write flip, fix minus