Enhance docs of Statement constructor and add alternate constructors

It is not optional. Though an explicit check for it would indeed be good