func (e EnvVar) Fetch(origin string) (string, error) {
	if origin != NullOrigin {
		return "", errors.New("Can't access environment variable from remote import")
	}
	val, ok := os.LookupEnv(string(e))
	if !ok {
		return "", fmt.Errorf("Unset environment variable %s", string(e))
	}
	return val, nil
}
Fetch reads the environment variable.  If origin is not NullOrigin,
an error is returned, to prevent remote imports from importing
environment variables.
package term
import (
	"errors"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
	"os"
	"path"
	"strings"
)
type EnvVar string
type LocalFile string
type RemoteFile struct{ url *url.URL }
type Missing struct{}
const NullOrigin = "null"
var locationType = UnionType{
	"Local":       Text,
	"Remote":      Text,
	"Environment": Text,
	"Missing":     nil,
}
type Fetchable interface {
	Origin() string
	Fetch(origin string) (string, error)
	ChainOnto(base Fetchable) (Fetchable, error)
	String() string
	AsLocation() Term
}
var _ Fetchable = EnvVar("")
var _ Fetchable = LocalFile("")
var _ Fetchable = RemoteFile{}
var _ Fetchable = Missing{}
func (EnvVar) Origin() string { return NullOrigin }
func (e EnvVar) String() string {
	return "env:" + string(e)
}