What do you need for two functions to be the same type?
All functions should be the same type.
The functions should not be a first class type. User defined function types in Go (Golang)
They should share the same parameter types but can return different types.
They should share the same signatures, including parameter types and return types.