safe and easy casting from one type to another in Go