annotated some code about currying