I prefer to encapsulate a mutable reference to the instance in a scope.
let post_form = {
let mut post_form = PostInsertForm::new(
// your constructor arguments
);
post_form.some_mutating_method(
// mutation arguments
);
post_form
};
This way you’re left with an immutable instance and you encapsulate all of the logic needed to setup the instance in one place.
The aliens haven’t yet consumed our planet in this timeline. Consider yourself lucky.