# Functions

Component returns err.Component() if err implements it, otherwise it returns DefaultComp.
IsPermanent returns err.Permanent() if err implements it, otherwise it returns false.
New returns an error, e, such that: Permanent(e) is false If Component(err) is not DefaultComp, Component(e) is Component(err) Else If component is "", Component(e) is DefaultComp Else Component(e) is component.
NewPermanent returns an error, e, such that: Permanent(e) is true If Component(err) is not DefaultComp, Component(e) is Component(err) Else If component is "", Component(e) is DefaultComp Else Component(e) is component.

# Constants

DefaultComp is the default component name used when no other component specified.