code: def snap(self, instruction):
          
          return self.from_datetime(snaptime.snap(self.datetime(), instruction))
docs: Returns a new MayaDT object modified by the given instruction.
  
          Powered by snaptime.  See https://github.com/zartstrom/snaptime
          for a complete documentation about the snaptime instructions.