non-intrusive, chainable curry function