in this case, static looks to be impossible as this value is initialised in each constructors.

```error: ‘int shared_ref::foreign’ is a static data member; it can only be initialized at its definition```