a very small library for building DSLs in Javascript