use Declaration.name() directly (hope to make signature creation lazy)