anchor.diff:  
       /// The converter parameter used to map the EventArgs of the command to the VM
       static member EventArgsConverterParameterProperty with get() = eventArgsConverterParameterProperty
  +
  +    /// Option which allows event args to be set to None to prevent command execution
  +    static member FilterOptionEventArgsProperty with get () = filterOptionEventArgsProperty
   
       // Dependency Property properties
   
  
positive.code:         with get() = this.GetValue(EventToCommand.EventArgsConverterParameterProperty)
          and set(v) = this.SetValue(EventToCommand.EventArgsConverterParameterProperty, v)
  
      /// Boolean indicating whether to toggle the enabled value of the associated control
      /// based on the ICommand's CanExecute state
      member this.ToggleIsEnabled
  
negative.code:             match this.AssociatedFrameworkElement with
              | Some fe -> not fe.IsEnabled
              | _ -> true
          
          let unwrapOptionAndExecute p =
              if this.FilterOptionEventArgs then
                  if p <> null then
                      let t = p.GetType ()
                      if t.IsGenericType && t.GetGenericTypeDefinition () = typedefof<Option<_>> then     
                          let args = t.GetGenericArguments ()
                          let exec = this.GetType().GetMethod("ExecuteOption", BindingFlags.Instance ||| BindingFlags.NonPublic)
                          let exec' = exec.MakeGenericMethod args
                          exec'.Invoke(this, [| p |]) |> ignore
                      else
                          this.Execute p
              else
                  this.Execute p
  
          match associatedElementDisabled, command with
          | (true, _) -> ()
          | (_, null) -> ()
          | (false, _) ->
              let parameter = getParameter param
              unwrapOptionAndExecute parameter
  
      override this.OnAttached() =
          base.OnAttached()
  