--- a/src/lib.rs
+++ b/src/lib.rs
@@ -120,7 +120,7 @@
     #[doc(alias = "gtk_layer_get_layer")]
     #[doc(alias = "get_layer")]
     fn layer(&self) -> Option<Layer> {
-        crate::auto::functions::layer(self)
+       Some(crate::auto::functions::layer(self))
     }
 
     /// ## `window`
@@ -270,7 +270,7 @@
     /// The output this layer surface will be placed on ([`None`] to let the compositor decide).
     #[doc(alias = "gtk_layer_set_monitor")]
     fn set_monitor(&self, monitor: Option<&gdk::Monitor>) {
-        crate::auto::functions::set_monitor(self, monitor);
+        crate::auto::functions::set_monitor(self, monitor.expect("REASON"));
     }
 
     /// Set the "namespace" of the surface.
@@ -287,7 +287,7 @@
     /// The namespace of this layer surface.
     #[doc(alias = "gtk_layer_set_namespace")]
     fn set_namespace(&self, name_space: Option<&str>) {
-        crate::auto::functions::set_namespace(self, name_space);
+        crate::auto::functions::set_namespace(self, name_space.expect("REASON"));
     }
 
     /* TODO: Fix this
