func Delete(builder interface{}, name string) interface{} {
	b := Builder{getBuilderMap(builder).Delete(name)}
	return convert(b, builder)
}
Delete returns a copy of the given builder with the given named value unset.
package builder
import (
	"github.com/lann/ps"
	"go/ast"
	"reflect"
)
type Builder struct {
	builderMap ps.Map
}
var (
	EmptyBuilder      = Builder{ps.NewMap()}
	emptyBuilderValue = reflect.ValueOf(EmptyBuilder)
)
func getBuilderMap(builder interface{}) ps.Map {
	b := convert(builder, Builder{}).(Builder)
	if b.builderMap == nil {
		return ps.NewMap()
	}
	return b.builderMap
}
func Set(builder interface{}, name string, v interface{}) interface{} {
	b := Builder{getBuilderMap(builder).Set(name, v)}
	return convert(b, builder)
}