code: func (mounter *Mounter) Mount(source string, target string, fstype string, options []string) error {
  	bind, bindRemountOpts := isBind(options)
  
  	if bind {
  		err := doMount(source, target, fstype, []string{"bind"})
  		if err != nil {
  			return err
  		}
  		return doMount(source, target, fstype, bindRemountOpts)
  	} else {
  		return doMount(source, target, fstype, options)
  	}
  }
docs: // Mount mounts source to target as fstype with given options. 'source' and 'fstype' must
  // be an emtpy string in case it's not required, e.g. for remount, or for auto filesystem
  // type, where kernel handles fs type for you. The mount 'options' is a list of options,
  // currently come from mount(8), e.g. "ro", "remount", "bind", etc. If no more option is
  // required, call Mount with an empty string list or nil.