# Adapted from http://autotelicum.github.com/Smooth-CoffeeScript/literate/partial.html F.partial = (func, a...) -> (b...) -> func (for arg in a then arg ?= b.shift())..., b...