Users tend to copy what they see in our code base, so it's not rare to have to help them realise that if their last statement is (define-public ...), the file doesn't evaluate to a package.
Running guix build -f mypackage.scm at least gives an error saying it doesn't know how to compile #<unspecified>.
Running guix package -f mypackage.scm returns immediately with no error message and a status of 0, but doesn't actually build or install anything. You can even try with an empty file :)
There should be an error message, and probably even a hint.