in reply to Private Attributes in Moose

I get the same error if I use just the name "attr" for the accessors. So the "privateness" is not the problem here. If you want the same method to be the reader and writer, define it as accessor:
accessor => '_priv_attr'