loader/file.go
func NewFileTemplateFetcher(paths []string) (*FileTemplateFetcher, error) {
	l := &FileTemplateFetcher{
		Paths: make([]string, len(paths)),
	}
	for k, v := range paths {
		abs, err := filepath.Abs(v)
		if err != nil {
			return nil, err
		}
		l.Paths[k] = abs
	}
	return l, nil
}
func NewFileTemplateFetcher(paths []string) (*FileTemplateFetcher, error) {
	l := &FileTemplateFetcher{
		Paths: make([]string, len(paths)),
	}
	for k, v := range paths {
		abs, err := filepath.Abs(v)
		if err != nil {
			return nil, err
		}
		l.Paths[k] = abs
	}
	return l, nil
}
// NewFileTemplateFetcher creates a new struct. `paths` must give us the
// directories for us to look the templates in