I have a package named "foo" because it defines a Foo struct and related stuff like methods.
The package has a New method that returns a heap allocated Foo struct.
Is it Ok to name the struct type Foo when the package name is "foo" ? I'm unsure because it would stutter.
var f foo.Foo
On the other hand it feels natural to write
f := foo.New(...)