func (e Error) Get() (error, error) {
	if !e.Present() {
		var zero error
		return zero, errors.New("value not present")
	}
	return *e.value, nil
}
Get returns the error value or an error if not present.
package optional
import (
	"encoding/json"
	"errors"
)
type Error struct {
	value *error
}
func NewError(v error) Error {
	return Error{&v}
}
func (e *Error) Set(v error) {
	e.value = &v
}