diff --git a/include/halco/hicann-dls/vx/neuron.h b/include/halco/hicann-dls/vx/neuron.h
index 3aa3510512aa1223214df4f9e1c6e5505c6d25bf..cafd05a886d86a573117280fd88f596e985233e1 100644
--- a/include/halco/hicann-dls/vx/neuron.h
+++ b/include/halco/hicann-dls/vx/neuron.h
@@ -11,7 +11,7 @@
 #include "halco/hicann-dls/vx/synram.h"
 
 namespace cereal {
-class access;
+struct access;
 } // namespace cereal
 
 namespace halco::hicann_dls::vx GENPYBIND_TAG_HALCO_HICANN_DLS_VX {
@@ -507,7 +507,7 @@ struct GENPYBIND(visible) LogicalNeuronCompartments
 	friend std::ostream& operator<<(std::ostream& os, LogicalNeuronCompartments const& config);
 
 private:
-	friend class cereal::access;
+	friend struct cereal::access;
 	template <typename Archive>
 	void serialize(Archive& ar, uint32_t);
 
@@ -551,7 +551,7 @@ struct GENPYBIND(visible) LogicalNeuronOnDLS
 	bool operator>=(LogicalNeuronOnDLS const& other) const;
 
 private:
-	friend class cereal::access;
+	friend struct cereal::access;
 	template <typename Archive>
 	void serialize(Archive& ar, uint32_t);
 
diff --git a/include/halco/hicann/v2/l1.h b/include/halco/hicann/v2/l1.h
index b136ec6a0388f2ad8cd0ad3dac4061ce63944996..dfb7dad01a15a93f94bccb99389186d02a83210d 100644
--- a/include/halco/hicann/v2/l1.h
+++ b/include/halco/hicann/v2/l1.h
@@ -203,7 +203,7 @@ struct GENPYBIND(inline_base("*")) VLineOnHICANN
 	std::array<HLineOnHICANN, 2> toHLineOnHICANN() const;
 };
 
-class HRepeaterOnWafer;
+struct HRepeaterOnWafer;
 
 struct GENPYBIND(inline_base("*HICANNMixin*")) HLineOnWafer
     : public HICANNMixin<HLineOnWafer, HLineOnHICANN>
@@ -242,7 +242,7 @@ public:
 	})
 };
 
-class VRepeaterOnWafer;
+struct VRepeaterOnWafer;
 
 struct GENPYBIND(inline_base("*HICANNMixin*")) VLineOnWafer
     : public HICANNMixin<VLineOnWafer, VLineOnHICANN>
diff --git a/include/halco/hicann/v2/neuron.h b/include/halco/hicann/v2/neuron.h
index 739ddb8ee259ce79092b9ad5293d61a836db79d0..461cdca76e5622ab85bee5f4af6ded06def0f166 100644
--- a/include/halco/hicann/v2/neuron.h
+++ b/include/halco/hicann/v2/neuron.h
@@ -204,7 +204,7 @@ public:
 	HICANNGlobal toHICANNGlobal() const;
 }; // NeuronGlobal
 
-class GENPYBIND(inline_base("*")) SynapticInputOnNeuron
+struct GENPYBIND(inline_base("*")) SynapticInputOnNeuron
     : public common::detail::RantWrapper<SynapticInputOnNeuron, uint_fast16_t, 1, 0>
 {
 public:
@@ -223,7 +223,7 @@ public:
 
 HALCO_COORDINATE_MIXIN(NeuronMixin, NeuronOnHICANN, neuron)
 
-class GENPYBIND(inline_base("*NeuronMixin*")) SynapticInputOnHICANN
+struct GENPYBIND(inline_base("*NeuronMixin*")) SynapticInputOnHICANN
     : public NeuronMixin<SynapticInputOnHICANN, SynapticInputOnNeuron>
 {
 private: