func typeAssignableTo(from, to reflect.Type) bool {
	return from.AssignableTo(unhackType(to))
}
Determine if type from is assignable to type to. From and To must not be ConstTypes
package eval
import (
	"reflect"
	"regexp"
	"strconv"
	"strings"
	"go/ast"
	"go/token"
)
func hackedNew(t reflect.Type) reflect.Value {
	return reflect.New(unhackType(t))
}
func unhackType(t reflect.Type) reflect.Type {
	switch tt := t.(type) {
	case Rune:
		return tt.Type
	case Byte:
		return tt.Type
	default:
		return t
	}
}