func (e Error) With(err error) error {
	if err == nil {
		return nil
	}
	return e.Format(err.Error())
}
With does the same thing as Format but it receives an error type which if it's nil it returns a nil error
package errors
import (
	"fmt"
	"runtime"
)
const (
	Version = "0.0.3"
)
var (
	Prefix = "Error: "
	NewLine = true
)
type Error struct {
	message  string
	appended bool
}
func New(errMsg string) *Error {
	if NewLine {
		errMsg += "\n"
	}
	return &Error{message: Prefix + errMsg}
}
func (e Error) String() string {
	return e.message
}
func (e Error) Error() string {
	return e.String()
}
func (e Error) Format(a ...interface{}) Error {
	e.message = fmt.Sprintf(e.message, a...)
	return e
}
func (e Error) Append(format string, a ...interface{}) Error {
	if NewLine {
		format += "\n"
	}
	e.message += fmt.Sprintf(format, a...)
	e.appended = true
	return e
}
func (e Error) AppendErr(err error) Error {
	return e.Append(err.Error())
}
func (e Error) IsAppended() bool {
	return e.appended
}