Creating DSLs using F#'s Computation Expressions