How are derived instance methods inlined?

I was wondering how instance-deriving affects inlining behaviour.

When it comes to Newtype-Deriving I feel like the resulting methods should always be inlined, because the only difference are the newtype-constructors.

I am not sure, but maybe a similar argument would also work for DerivingVia?

Stock instance methods should probably not be inlined by default and neither should AnyClass-derived methods.

So my question is mainly about Newtype and Via -deriving.

The functions that both newtype deriving and deriving via generate are very simple applications of coerce to some existing function at the right type. That means they will probably be small enough for the compiler to inline them automatically.

I expect stock deriving to also usually produces small functions if the data type is not too large.
And I do think it can be very beneficial to inline functions like (==) and (<=).