anchor.diff:      fromPara paraValue
       |> function | Value a -> a
                   | Error e -> failwith e
  -
  -  let inline init (a: 'a) : ParaValue<'a> =
  -    fun paravalue -> Value a, paravalue
  -
  -  let inline bind (m: ParaValue<'a>) (f: 'a -> ParaValue<'b>) : ParaValue<'b> =
  -    fun paravalue ->
  -      match m paravalue with
  -      | Value a, paravalue -> (f a) paravalue
  -      | Error e, paravalue -> Error e, paravalue
  -
  -  let inline apply (f: ParaValue<'a -> 'b>) (m: ParaValue<'a>) : ParaValue<'b> =
  -    bind f (fun f' ->
  -      bind m (f' >> init))
  -
  -  let inline map (f: 'a -> 'b) (m: ParaValue<'a>) : ParaValue<'b> =
  -    bind m (f >> init)
   
     let inline pget (key:string) : ParaValue<'a> =
       fun o ->
  
positive.code: 
    let inline error (e: string) : ParaValue<'a> = fun va -> Error e, va
  
    let num paravalue fn err =
      match paravalue with
      | ParaValue.Number n -> Value(fn n)
      | y -> err(y)
  
    type FromParaDefaults = FromParaDefaults with
      static member inline FromPara (_: bool)  =
  
negative.code:         | ParaValue.Number n -> Value((int n) <> 0), x
          | err -> error "Expected boolean but received something else" x
  
      static member inline FromPara (_: int) = map int (fun x -> number x, x)
      static member inline FromPara (_: uint32) = map uint32 (fun x -> number x, x)
      static member inline FromPara (_: sbyte) = map sbyte (fun x -> number x, x)
      static member inline FromPara (_: byte) = map byte (fun x -> number x, x)
      static member inline FromPara (_: int16) = map int16 (fun x -> number x, x)
      static member inline FromPara (_: uint16) = map uint16 (fun x -> number x, x)
      static member inline FromPara (_: int64) = map int64 (fun x -> number x, x)
      static member inline FromPara (_: uint64) = map uint64 (fun x -> number x, x)
      static member inline FromPara (_: single) = map single (fun x -> number x, x)
      static member inline FromPara (_: float) = map float (fun x -> number x, x)
      static member inline FromPara (_: string) = fun x -> stringify x, x
  
    let inline internal fromParaDefaults (a: ^a, _: ^b) =
      ((^a or ^b) : (static member FromPara: ^a -> ^a ParaValue) a)
  